Amazon LinuxをDatadogで監視してみた
はじめに
こんにちは、阿部洸樹です。 皆さんはDatadogをご存知でしょうか?SaaS形式のモニタリングサービスです。 5台以下のシステム向けに、Freeプラン(無償)が用意されています。 Datadogのブログを書かなイカ?との指令がありましたので、試してみました。
セットアップ手順
アカウント作成
最初にアカウントを作成します。一般的なWebサービスと同様に数分で完了します。 Datadogのログイン画面にアクセスし、[Sign Up]を選択します。
Emailアドレス、名前、会社名、パスワードを入力し[Sign Up]を選択します。
amazon webservicesを選択し、[ Next ]を選択します。
監視対象のOSを選択しましょう。 今回はAmazonLinuxとしました。 コマンドが表示されますので、AmazonLinux上で実行すると、datadog-agentがインストールされます。 datadog-agentは、イベントやメトリクスを収集しDatadogに送信します。
$ DD_API_KEY=****** bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/dd-agent/master/packaging/datadog-agent/source/install_agent.sh)" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 7140 100 7140 0 0 66425 0 --:--:-- --:--:-- --:--:-- 66728 * Installing YUM sources for Datadog * Installing the Datadog Agent package 読み込んだプラグイン:priorities, update-motd, upgrade-helper 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ datadog-agent.x86_64 1:5.5.1-1 を インストール --> 依存性解決を終了しました。 依存性を解決しました ================================================================================ Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================ インストール中: datadog-agent x86_64 1:5.5.1-1 datadog 54 M トランザクションの要約 ================================================================================ インストール 1 パッケージ 総ダウンロード容量: 54 M インストール容量: 181 M Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction find: `/opt/datadog-agent/agent': そのようなファイルやディレクトリはありません インストール中 : 1:datadog-agent-5.5.1-1.x86_64 1/1 Please supply a configuration file at /etc/dd-agent/datadog.conf or in the directory where the Agent is currently deployed. Stopping Datadog Agent (using killproc on supervisord): [失敗] /etc/dd-agent/datadog.conf not found. Exiting. 検証中 : 1:datadog-agent-5.5.1-1.x86_64 1/1 インストール: datadog-agent.x86_64 1:5.5.1-1 完了しました! * Adding your API key to the Agent configuration: /etc/dd-agent/datadog.conf * Starting the Agent... Stopping Datadog Agent (using killproc on supervisord): [失敗] hostname: 不明なホストです Starting Datadog Agent (using supervisord): [ OK ] Your Agent has started up for the first time. We're currently verifying that data is being submitted. You should see your Agent show up in Datadog shortly at: https://app.datadoghq.com/infrastructure Waiting for metrics................................. Your Agent is running and functioning properly. It will continue to run in the background and submit metrics to Datadog. If you ever want to stop the Agent, run: sudo /etc/init.d/datadog-agent stop And to run it again run: sudo /etc/init.d/datadog-agent start $
Datadog用のIAMアカウントを用意しましょう。 最低限、EC2とCloudWatchのRead権限が必要になります。 今回はIAMユーザdatadogを作成の上、下記IAMポリシーを適用しました。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:Describe*", "cloudwatch:Get*", "cloudwatch:List*", "ec2:Describe*", "ec2:Get*", "ecs:Describe*", "ecs:List*" ], "Effect": "Allow", "Resource": "*" } ] }
IAMユーザdatadogのアクセスキー、シークレットキーを入力し、[Finish]を選択します。
左メニュー[Infrastructure]を選択します。 EC2インスタンスが認識されています。
試しにEC2インスタンスを1台追加したところ、追加分も認識されました。
おわりに
簡単にDatadogから、EC2インスタンスを監視することが出来ました。 以前利用していた監視ソフトでは、監視対象が増減した際に監視サーバ側の設定が必要でしたが、 Datadogでは不要のようですので、便利に感じました。 SaaS形式ですと、監視サーバのOSや監視ソフトのバージョンアップが不要になるかと思いますので、 そちらもポイントが高いと思います。
参考情報
- 課金に関するFAQ(http://docs.datadoghq.com/ja/guides/billing/)
- Configure CloudWatch(http://docs.datadoghq.com/integrations/aws/#cloudwatch)
- Datadog Agent 入門(http://docs.datadoghq.com/ja/guides/basic_agent_usage/)